<?php

namespace Sharks\Core\Http\Form;
use Sharks\Core\Support\Base\Str;

/**
 * 表单中自动转为Model对象
 * example
 * <code>
 *      <input type="text" name="user.name">
 *
 *      表单域中的name,点号前的名称要与方法中的参数名称对应
 *      function index(User $user) ...
 * </code>
 *
 * 注意: php会把表单名称中的.号自动转为_
 *
 */
class FormToObj {

    public static function generate($obj, $paramName) {
        foreach ($_POST as $key => $value) {
            if (Str::startsWith($key, $paramName . '_')) {
                $temps = explode('_', $key);
                $attribute = $temps[1];
                $obj->$attribute = $_POST[$key];
            }
        }
    }
}